# 1. 定义一个函数 add，接收两个参数 a 和 b，返回它们的和。
#答案略
# 2. 编写一个函数 is_even(n)，判断传入的整数是否为偶数，返回 True 或 False。
#答案略
# 3. 编写一个函数 factorial(n)，计算并返回正整数 n 的阶乘（例如 5! = 5×4×3×2×1）。
#答案略

# 5. 写一个函数 reverse_string(s)，接收一个字符串，返回它的反转字符串。例如输入 "hello"，返回 "olleh"。
#答案略

# 4. 编写一个函数 find_max(lst)，接收一个列表，返回其中的最大值（不使用内置函数 max）
def find_max(lst):
    # lst.sort()
    # return lst[-1]
    max_num=lst[0]
    for a in lst:
        if a>max_num:
            max_num=a
    return max_num


# 6. 编写一个函数 count_vowels(s)，
# 统计字符串中元音字母（a, e, i, o, u）出现的个数（不区分大小写）。
def count_vowels(s):
   s1= s.lower()
   count=0
   for a in s1:
       # if a in ("a", "e", "i", "o", "u"):
       if a in ("aeiou"):
           count+=1

   return count












# 7. 编写一个函数 fibonacci(n)，
# 返回长度为 n 的斐波那契数列列表，例如输入 5，返回 [0, 1, 1, 2, 3]。


def fibonacci(n):
    list1 = [0, 1]
    if n==1:
        return [0]
    if n==2:
        return [0,1]
    if n>2:
        for a in range(2,n):
            list1.append(list1[a-1]+list1[a-2])
    return list1

# 8. 写一个函数 is_prime(n)，判断一个整数是否是质数（素数）。
def is_prime(n):    # n=10
    if n==1:
        return False
    if n==2:
        return  True
    if n>2:
        for a in range(2,n//2):
            if n%a==0:
                return False
                # print(False)
        else:
                # print(True)
            return  True

is_prime(5)

# for...else  当for循环执行完之后，才会执行else里面的代码块

    # return  False
print(is_prime(2))











